﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Young3.FMSearch.Core.Entities.GameVersions;
using Young3.FMSearch.Core.Managers;
using Young3.FMSearch.Core.Offsets;
using Young3.FMSearch.Core.Attributes;

namespace Young3.FMSearch.Core.Entities.InGame
{
    //[FMType(UseCache = true)]
    public partial class PlayerSkills : BaseObject
    {
        public PlayerSkills(int memoryAddress, IVersion version)
            : base(memoryAddress, version)
        { }
                public PlayerSkills(int memoryAddress, ArraySegment<byte> originalBytes, IVersion version)
            : base(memoryAddress, originalBytes, version)
        { }

        [FMEntityAttribute(SkillOffsets.Corners)]
        public SByte Corners { get; set; }

        [FMEntityAttribute(SkillOffsets.Crossing)]
        public SByte Crossing { get; set; }

        [FMEntityAttribute(SkillOffsets.Dribbling)]
        public SByte Dribbling { get; set; }

        [FMEntityAttribute(SkillOffsets.Finishing)]
        public SByte Finishing { get; set; }

        [FMEntityAttribute(SkillOffsets.FirstTouch)]
        public SByte FirstTouch { get; set; }

        [FMEntityAttribute(SkillOffsets.Freekicks)]
        public SByte Freekicks { get; set; }

        [FMEntityAttribute(SkillOffsets.Heading)]
        public SByte Heading { get; set; }

        [FMEntityAttribute(SkillOffsets.LongShots)]
        public SByte LongShots { get; set; }

        [FMEntityAttribute(SkillOffsets.Longthrows)]
        public SByte Longthrows { get; set; }

        [FMEntityAttribute(SkillOffsets.Marking)]
        public SByte Marking { get; set; }

        [FMEntityAttribute(SkillOffsets.Passing)]
        public SByte Passing { get; set; }

        [FMEntityAttribute(SkillOffsets.PenaltyTaking)]
        public SByte PenaltyTaking { get; set; }

        [FMEntityAttribute(SkillOffsets.Tackling)]
        public SByte Tackling { get; set; }

        [FMEntityAttribute(SkillOffsets.Technique)]
        public SByte Technique { get; set; }

        [FMEntityAttribute(SkillOffsets.AerialAbility)]
        public SByte AerialAbility { get; set; }

        [FMEntityAttribute(SkillOffsets.CommandOfArea)]
        public SByte CommandOfArea { get; set; }

        [FMEntityAttribute(SkillOffsets.Communication)]
        public SByte Communication { get; set; }

        [FMEntityAttribute(SkillOffsets.Eccentricity)]
        public SByte Eccentricity { get; set; }

        [FMEntityAttribute(SkillOffsets.Handling)]
        public SByte Handling { get; set; }

        [FMEntityAttribute(SkillOffsets.Kicking)]
        public SByte Kicking { get; set; }

        [FMEntityAttribute(SkillOffsets.OneOnOnes)]
        public SByte OneOnOnes { get; set; }

        [FMEntityAttribute(SkillOffsets.Reflexes)]
        public SByte Reflexes { get; set; }

        [FMEntityAttribute(SkillOffsets.RushingOut)]
        public SByte RushingOut { get; set; }

        [FMEntityAttribute(SkillOffsets.TendencyToPunch)]
        public SByte TendencyToPunch { get; set; }

        [FMEntityAttribute(SkillOffsets.Throwing)]
        public SByte Throwing { get; set; }

        [FMEntityAttribute(SkillOffsets.Consistency)]
        public SByte Consistency { get; set; }

        [FMEntityAttribute(SkillOffsets.Dirtyness)]
        public SByte Dirtyness { get; set; }

        [FMEntityAttribute(SkillOffsets.ImportantMatches)]
        public SByte ImportantMatches { get; set; }

        [FMEntityAttribute(SkillOffsets.InjuryProness)]
        public SByte InjuryProness { get; set; }

        [FMEntityAttribute(SkillOffsets.Versatility)]
        public SByte Versatility { get; set; }

        [FMEntityAttribute(SkillOffsets.Aggression)]
        public SByte Aggression { get; set; }

        [FMEntityAttribute(SkillOffsets.Anticipation)]
        public SByte Anticipation { get; set; }

        [FMEntityAttribute(SkillOffsets.Bravery)]
        public SByte Bravery { get; set; }

        [FMEntityAttribute(SkillOffsets.Composure)]
        public SByte Composure { get; set; }

        [FMEntityAttribute(SkillOffsets.Concentration)]
        public SByte Concentration { get; set; }

        [FMEntityAttribute(SkillOffsets.Creativity)]
        public SByte Creativity { get; set; }

        [FMEntityAttribute(SkillOffsets.Decisions)]
        public SByte Decisions { get; set; }

        [FMEntityAttribute(SkillOffsets.Determination)]
        public SByte Determination { get; set; }

        [FMEntityAttribute(SkillOffsets.Flair)]
        public SByte Flair { get; set; }

        [FMEntityAttribute(SkillOffsets.Influence)]
        public SByte Influence { get; set; }

        [FMEntityAttribute(SkillOffsets.OffTheBall)]
        public SByte OffTheBall { get; set; }

        [FMEntityAttribute(SkillOffsets.Positioning)]
        public SByte Positioning { get; set; }

        [FMEntityAttribute(SkillOffsets.Teamwork)]
        public SByte Teamwork { get; set; }

        [FMEntityAttribute(SkillOffsets.Workrate)]
        public SByte Workrate { get; set; }

        [FMEntityAttribute(SkillOffsets.Acceleration)]
        public SByte Acceleration { get; set; }

        [FMEntityAttribute(SkillOffsets.Agility)]
        public SByte Agility { get; set; }

        [FMEntityAttribute(SkillOffsets.Balance)]
        public SByte Balance { get; set; }

        [FMEntityAttribute(SkillOffsets.Jumping)]
        public SByte Jumping { get; set; }

        [FMEntityAttribute(SkillOffsets.LeftFoot)]
        public SByte LeftFoot { get; set; }

        [FMEntityAttribute(SkillOffsets.NaturalFitness)]
        public SByte NaturalFitness { get; set; }

        [FMEntityAttribute(SkillOffsets.Pace)]
        public SByte Pace { get; set; }

        [FMEntityAttribute(SkillOffsets.RightFoot)]
        public SByte RightFoot { get; set; }

        [FMEntityAttribute(SkillOffsets.Stamina)]
        public SByte Stamina { get; set; }

        [FMEntityAttribute(SkillOffsets.Strength)]
        public SByte Strength { get; set; }

        [FMEntityAttribute(SkillOffsets.Adaptability)]
        public SByte Adaptability { get; set; }

        [FMEntityAttribute(SkillOffsets.Ambition)]
        public SByte Ambition { get; set; }

        [FMEntityAttribute(SkillOffsets.Controversy)]
        public SByte Controversy { get; set; }

        [FMEntityAttribute(SkillOffsets.Loyalty)]
        public SByte Loyalty { get; set; }

        [FMEntityAttribute(SkillOffsets.Pressure)]
        public SByte Pressure { get; set; }

        [FMEntityAttribute(SkillOffsets.Professionalism)]
        public SByte Professionalism { get; set; }

        [FMEntityAttribute(SkillOffsets.Sportsmanship)]
        public SByte Sportsmanship { get; set; }

        [FMEntityAttribute(SkillOffsets.Temperament)]
        public SByte Temperament { get; set; }
    }
}